package my.mark.mybaibaoxiang.juc.biji06.countdownlaunch;

import java.util.concurrent.CountDownLatch;

/**
 * @author wxming.
 * @description ：CountDownLatch使用示例：两个人一起去医院，一个人去买药，一个人去看医生。两个人都完事后一起回。
 */
public class CountDownLaunchSample {

    public static void main(String[] args) throws InterruptedException {
        long now = System.currentTimeMillis();
        CountDownLatch countDownLatch = new CountDownLatch(2);//初始化计数器数量2。
        new Thread(new SeeDoctorTask(countDownLatch)).start();//看医生任务开始。
        new Thread(new QueueTask(countDownLatch)).start();//买药任务开始。
        //等待线程池中的2个任务执行完毕，否则一直等
        countDownLatch.await();
        System.out.println("over，回家 cost:" + (System.currentTimeMillis() - now));
    }
}
